A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
1. Field of the Invention
The present invention relates generally to databases, and more particularly, to generating and viewing data from databases in a table form.
2. Description of the Related Art
Early database software programs were a great relief for people who needed to organize and store vast amounts of data. Thus, databases allowed people to input and store information in a form that could be easily re-called and updated. As is well known in the art, database programs are no longer only used in business settings, but have gained tremendous acceptance and usage by families and students. By way of example, families have used database programs to keep medical records, keep a budget, maintain an inventory of assets, and compile wedding plan information. Similarly, students may use a database program to maintain student loan records, prioritize class events, and coordinate field trips.
Generally, database programs have gained increased acceptance by the computing public with the advent of more user friendly database programs which have made data entry more efficient. Although there have been great improvements in data entry, there is still a great need for database programs that reduce the hassles associated with viewing the data in various formats. By way of example, it may be desirable to view all data associated with a single record. As another example, it may be desirable to compare selected data associated with multiple records. Thus, each time a user wishes to view data in a different format, it is necessary to create a new xe2x80x9creport template.xe2x80x9d As a result, this typically requires repetitively entering frequently viewed fields from scratch each time the information is needed for a particular report template.
In operation, when a database designer wants to define fields for a particular database, a form layout window can be used. FIG. 1 shows a screen shot illustrating an exemplary form layout window used to define fields for a database. In this example, an optional header, xe2x80x9cGolf Money Winnersxe2x80x9d 102, is created and a number of fields 104 are defined to create a body 103. As shown, a last name field 106, a first name field 108, an events field 110, and a total prize money field 112 are defined in the body 103 of the form layout window. Although the form layout may include a footer, a footer is not included in this example.
Once data has been entered and stored in the database, it is often desirable to view the data for a particular record. In the simplest case, the data may be viewed in the format in which it has been entered. Thus, the form layout window is suitable for obtaining (i.e., entering) data for a particular record as well as for displaying data associated with a single database record. FIG. 2 illustrates a screen shot illustrating an exemplary form view window having a number of fields used to view a single record. As shown, the form view window displays fields for a single record. For example, the header 102 and the body 103, which includes the last name field 106, xe2x80x9cSuttonxe2x80x9d, first name field 108, xe2x80x9cHalxe2x80x9d, events field 110, xe2x80x9c30xe2x80x9d, and total prize money field 112, xe2x80x9c$1,838,740xe2x80x9d, are displayed for a single record. Thus, the form view window includes a body defining a plurality of fields which have a specified order as well as associated attributes. For example, attributes such as degree of rotation, color, and font may be associated with each field. In addition, each of the attributes has a corresponding attribute value. For instance, an attribute such as the font may be specified by values such as Times New Roman. In addition, the order as specified in this example requires that the last name of each of the golf money winners be displayed as the first field of the body 103. Although the form view format provides a simple mechanism to view a single database record, it is often desirable to view and compare multiple database records. For this purpose, the form view report format is inadequate.
Rather than viewing a single record, multiple records are often simultaneously displayed. FIG. 3 is a screen shot illustrating an exemplary list view window used to view multiple records. In addition to the title 102, xe2x80x9cGolf Money Winners,xe2x80x9d the bodies of multiple records as entered in the main form layout and displayed in the form view format are displayed consecutively. As shown, the body of a first record 302 is shown to include the last name field 304, xe2x80x9cWoodsxe2x80x9d, the first name field 306, xe2x80x9cTigerxe2x80x9d, the Events field 308, xe2x80x9c20xe2x80x9d, and the total prize money field 310, xe2x80x9c$1,841,117xe2x80x9d. Similarly, the body of a second record 312 is shown to include the last name field 314, xe2x80x9cSutton,xe2x80x9d the first name field 316, xe2x80x9cHal,xe2x80x9d the events field 318, xe2x80x9c30xe2x80x9d, and the total prize money field 320, $1,838,740. Although multiple records are displayed, it may be desirable to compare field values of multiple records. For instance, a viewer may wish to compare the total prize money won by multiple golf players. However, each of the records is displayed such that the fields associated with a single one of the records are displayed in multiple rows as well as columns. Moreover, since the records are displayed consecutively in the list view format, the values associated with the same field of multiple records are not displayed adjacent to one another and only a few records at most can be concurrently displayed. As a result, it is difficult to make such a simple comparison between values of the same field. From this list view window, it is difficult to make such a determination. Accordingly, although multiple records may be simultaneously displayed in this manner, the list view format does not facilitate comparisons of fields of multiple records.
As described above, it is difficult to compare fields of multiple records using a form view or a list view format. Moreover, it is often desirable to display the same data in a variety of formats. For instance, it may be desirable to vary the format (e.g., appearance) of the fields (e.g., font, column width) as well as the order of the fields. In addition, it may be desirable to alter the manner in which each field is displayed through the association of various attributes such as color, font, or degree of rotation. Although a variety of products are currently available that enable a user to customize the display of data, many of these require each report format to be created separately. As a result, the creation of multiple report formats often requires duplicative efforts. Customizing the display of data is therefore a tedious and time-consuming process.
In view of the foregoing, what is needed is a process and system for displaying multiple records in a report format that facilitates comparison of the records. Moreover, it would be desirable if the report format could be created and modified by a user while minimizing the efforts required by the user.
The present invention relates to a process and system for presenting data in the format of a table. This is accomplished through the generation of a report format hereinafter referred to as a xe2x80x9clayoutxe2x80x9d using formatting information from an existing layout. In this manner, the present invention enables a user to customize the display of data in a table format using existing formatting information.
The invention can be implemented in numerous ways, including as a process, an apparatus, a system, a device, a method, or a computer readable medium. Several embodiments of the invention are discussed below.
According to one aspect of the invention, a first layout is obtained. For instance, the first layout may be a form layout used to enter data as well as display data associated with a single database record. The first layout includes a body including a plurality of fields having a specified order and associated formatting information. More particularly, the formatting information may be stored in the form of attributes, each of which having a corresponding attribute value. For instance, the attributes may identify a color, font, or degree of rotation associated with the corresponding field. A second layout is created from the first layout such that the second layout includes selected formatting information from the first layout. The second layout is preferably adapted for displaying a plurality of records such that values associated with the same field of the plurality of records are displayed adjacent to one another, and will hereinafter be referred to as a xe2x80x9ctable layoutxe2x80x9d. According to one embodiment, the second layout is created such that it includes selected ones of the plurality of fields from the first layout. Attribute values corresponding to at least some of the attributes associated with the plurality of fields are then copied from the first layout to the second layout. The second layout may then be displayed on a screen or printed using the formatting information obtained from the first layout.
According to another aspect of the invention, modifications made to the form layout are reflected in the table layout. More particularly, modifications are made to selected ones of the plurality of fields of the form layout. The table layout is then automatically modified to include the modifications. These modifications may include, but are not limited to, adding, deleting, or reordering fields in the body of the layout, headers or footers, as well as modifying attribute values associated with various attributes. Thus, all changes or selected changes may be copied from the form layout to the table layout. However, if desired, the user may modify the table layout or provide default settings to override the information copied from the form layout.
The advantages of the present invention are numerous. The present invention enables database records to be displayed in a table format to facilitate comparison of the fields of the database records. This is accomplished through the creation of a table layout using formatting information previously established in an existing form layout. Thus, software used to create and display the form layout may be used to create and display the table layout. As a result, the design, programming and testing time required to create the table layout from the form layout are minimized. Moreover, since formatting information is automatically translated from the form layout to the table layout, the efforts required on the part of the user in formatting the data for display are dramatically reduced.
Other aspects and advantages of the invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, illustrating by way of example the principles of the invention.